90. Subsets II - LeetCode Solution


Array Backtracking Bit Manipulation

Python Code:

class Solution:
    def subsetsWithDup(self, nums: List[int]) -> List[List[int]]:
        ans = [[]]
        def trav(i, k):
            if i == len(nums):
                return
            
            for j in range(i, len(nums)):
                ans.append(sorted(k + [nums[j]]))
                trav(j+1, k+[nums[j]])
        
        trav(0, [])
        ans.sort()
        i = 0
        
        while i != len(ans)-1:
            if ans[i] == ans[i-1]:
                ans.pop(i)
                continue
            i+=1
  
        return ans
        
        


Comments

Submit
0 Comments
More Questions

1553D - Backspace
1670D - Very Suspicious
1141B - Maximal Continuous Rest
1341A - Nastya and Rice
1133A - Middle of the Contest
385A - Bear and Raspberry
1311B - WeirdSort
1713F - Lost Array
236B - Easy Number Challenge
275A - Lights Out
147A - Punctuation
253A - Boys and Girls
1327E - Count The Blocks
984A - Game
12B - Correct Solution
1355B - Young Explorers
485A - Factory
628A - Tennis Tournament
1436B - Prime Square
1707B - Difference Array
1422C - Bargain
1611F - ATM and Students
660A - Co-prime Array
1692F - 3SUM
1470A - Strange Birthday Party
190D - Non-Secret Cypher
1721B - Deadly Laser
1721C - Min-Max Array Transformation
1721A - Image
1180C - Valeriy and Deque